//引入模块
var express = require('express');
var temp =require('express-art-template')
var bodyParser = require('body-parser')
var runsql = require('./utils/runsql.js');
//服务器
var app = express();
//使用模板引擎
app.engine('html',temp);
app.use(bodyParser.urlencoded({extended: false}));
// 静态网页可以直接访问  css,js
app.use('/public', express.static('public'))
//中间件：对所有的请求都进行跨域访问设置处理
app.all('*',function(req,res,next){
    res.header("Access-Control-Allow-Credentials", true);
    res.header("Access-Control-Allow-Origin", "*");
    res.header('Access-Control-Allow-Methods', '*');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type,token'); 
    //执行下一个中间件
    next();
});


// // 所有路由
// app.get('/:pageno',(req,res)=>{
//     let p = req.params.pageno;
//     let no = (p-1)*10;
//     let data = {
//         total: 0,
//         cur: p,
//         items: ''
//     }
//     console.log('页=', p );
//     //求总行数
//     let sql1 = 'select count(*) as total from university'
//     //查询一页数据
//     let sql2 = `SELECT  universityNo,schoolName,province,ranking
//                 from university
//                 LIMIT ${no},10`

//     runsql(sql1, (err,ret)=>{
//         data.total = ret[0].total
//         console.log('1总数', data.total);

//         runsql(sql2 ,(err,ret)=>{
//             if(err){ 
//                 console.log('执行失败',err)
//                 return;
//             }
//             data.items = ret
//             console.log('2' ,  data  );
//             res.render('index.html',{
//                 data: data
//             });
//         })
//     })
// })

//修改学校功能
// app.get('/edit/:sno',(req,res)=>{
//     let no =  req.params.sno
//     console.log('学校',no);
//     let sql = `SELECT  universityNo,schoolName,province,ranking
//                 from university
//                 where universityNo = ${no}`
//     runsql(sql, (err,ret)=>{
//         if(err){ 
//             console.log('执行失败',err)
//             return;
//         }
//         console.log('返回=', ret );
//         res.render('edit.html',{
//             school: ret[0]
//         });
//     })
// })

// json 返回
app.get('/json',(req,res)=>{
    let stu = {
        name: 'temo',
        age: 18,
        sex: '男'
    };
    res.send(stu);
})

//post服务
app.post('/books', (req, res) => {
    let tk =  req.headers.token ;
    if(tk){
        res.send('POST参数!' + req.body.uname + req.body.pwd)
    }else{
        res.send('非法用户，拒绝服务')
    }
})

// restful delete
app.delete('/books/:id', (req, res) => {
    res.send('delete参数=' + req.params.id)
})

// 接受put json
app.put('/books/:id', (req, res) => {
    res.send('PUT请求传递参数!' 
     + req.params.id
     + '--' + req.body.stname + 
     '--' + req.body.age)
})
 
//启动server
app.listen(9090,()=>{
    console.log('服务器开启 http://127.0.0.1:9090');
});

